package com.rykj.energy.database.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.rykj.energy.common.utils.Result;
import com.rykj.energy.database.pojo.BasicCamera;
import com.rykj.energy.database.pojo.BasicCameraPresetting;
import com.rykj.energy.database.pojo.BasicDevice;
import com.rykj.energy.database.pojo.vo.DeviceVo;
import com.rykj.energy.database.pojo.vo.OrganizationVO;
import com.rykj.energy.database.pojo.vo.VBasicCameraView;

import java.util.List;

public interface IDeviceSercive {
    
    void getVoToDevice(DeviceVo deviceVo, BasicDevice device);

    Result checkDevice(BasicDevice device);

    List<BasicCamera>  addDevice(BasicDevice device) throws Exception;

     List<BasicCamera> queryCameraForNVR(BasicDevice device);

    List<BasicDevice> findByDevAlias(String devAlias);

    List<BasicDevice> findByDevIp(String devIp);

    void deleteDevCamera(int devId) throws Exception;

    List<BasicCamera> updateDevice(BasicDevice device) throws Exception;

    IPage<DeviceVo> getCamerasByOrgId(Integer pageNum, Integer pageSize, Integer orgId, String searchName, String searchIp, String devType);

    List<OrganizationVO> getOrgCameras(Integer orgId,String searchName);

    IPage<VBasicCameraView> getCameraAndPresetByOrgId(Integer pageNum, Integer pageSize, Integer orgId, String searchName, String searchIp, String devType);

    List<BasicCameraPresetting> getPresetByCameraId(Integer cameraId);
}
